package cn.iocoder.yudao.module.squaredancing.controller.admin.video.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 视频管理新增/修改 Request VO")
@Data
public class VideoSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32351")
    private Long id;

    @Schema(description = "视频标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "视频标题不能为空")
    private String title;

    @Schema(description = "视频简介", example = "你说的对")
    private String description;

    @Schema(description = "封面地址", example = "https://www.iocoder.cn")
    private String coverUrl;

    @Schema(description = "视频地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "视频地址不能为空")
    private String videoUrl;

    @Schema(description = "视频时长(秒)", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "视频时长(秒)不能为空")
    private Integer duration;

    @Schema(description = "播放次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "14980")
    @NotNull(message = "播放次数不能为空")
    private Integer viewCount;

    @Schema(description = "状态(0:下架,1:上架)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态(0:下架,1:上架)不能为空")
    private Integer status;

    @Schema(description = "创建人")
    private String createBy;

    @Schema(description = "更新人")
    private String updateBy;

}